1. Field of the Invention
This invention relates generally to computing technology and more particularly to using a single driver to manage multiple functions in a multi-channel SCSI chip capable of controlling multiple devices.
2. Description of the Related Art
To access and control certain types of peripheral devices connected to a computer system, the computer generally utilizes host adapter cards (or controllers) attached to the computer's peripheral component interconnect (PCI) bus. The computer may also have peripheral device controllers built into the motherboard. These controllers serve to coordinate and manage the data communication to and from the peripheral devices. Controllers may be in the form of a video display adapter, an integrated drive electronics (IDE) controller, a small computer system interface (SCSI) controller, or other similar cards or chips which control peripheral devices. Each of these controllers manage a single type of peripheral device and, if not built into the motherboard, takes up one expansion slot on the PCI bus.
FIG. 1 shows a computer configuration where two peripheral devices 40a and 40b are connected to a computer system 10, in accordance with the prior art. In one example, the peripheral devices 40a and 40b are RAID devices. The computer system 10 includes an operating system (OS) 42 that is run by the CPU. The OS controls two functions 30a and 30b which in turn manage the peripheral devices 40a and 40b through miniport drivers 24a and 24b. The two functions 30a and 30b are managed by separate chips which each control separate peripheral devices. In one example, the separate chips are SCSI chips. Each of the miniport drivers 24a and 24b are connected to the peripheral devices 40a and 40b through separate buses 44a and 44b. Thus, each of the peripheral devices 40a and 40b are managed by different chips through different miniport drivers (24a and 24b, respectively). In following, logical containers containing data in the peripheral devices 40a and 40b cannot be generated or managed because the miniport driver 24a is not aware of the miniport driver 24b. Therefore, the computer configuration of FIG. 1 is problematic when more flexible storage alternatives are desired.
Dual channel SCSI chips sharing the chip single system interface were introduced to ease system complication associated with multiple single channel SCSI chips. The dual channel SCSI chip uses the same software for both channels and can only perform as one type of SCSI channel. Therefore, the dual channel SCSI chip is not capable of controlling multiple types of peripheral devices having different functionality. Thus, the dual channel SCSI chip is limiting with respect to expanded device configurations. In addition, another typical problem encountered with dual channel SCSI chips involves the different channels not being aware of one another. For example, a RAID system can typically only be implemented using one channel and cannot be implemented using the drives controlled over different channels. Therefore, the dual channel SCSI chip does not alleviate the problems encountered in FIG. 1 above.
Therefore, a need exists for a method and apparatus to overcome the limitations of the prior art by utilizing a single driver that can assist in managing multiple functions of multiple channels.